package com.szl.yeb.controller;


import com.szl.yeb.common.constant.MsgConstant;
import com.szl.yeb.entity.Joblevel;
import com.szl.yeb.common.R;
import com.szl.yeb.service.JoblevelService;
import com.szl.yeb.utils.ResponseProcessor;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;

/**
 * (Joblevel)表控制层
 *
 * @author szl
 * @since 2022-08-24 16:21:25
 */
@Api(tags = "职称管理接口(JoblevelController)")
@RestController
@RequestMapping("system/basic/joblevel")
public class JoblevelController {
    @Autowired
    private JoblevelService joblevelService;

    @ApiOperation("获取所有职称信息")
    @GetMapping("/")
    public R<Object> getAllJoblevels() {
        return R.obj(joblevelService.list());
    }


    @ApiOperation("添加职称信息")
    @PostMapping("/")
    public R<Object> addJoblevel(@RequestBody Joblevel joblevel) {
        if (joblevel.getName() == null || joblevel.getName().trim().isEmpty()) {
            return R.errMsg("职称不能为空");
        }
        return ResponseProcessor.getResWithMsg(joblevelService.save(joblevel), MsgConstant.ADD);
    }

    @ApiOperation(value = "更新职称信息")
    @PutMapping("/")
    public R<Object> updateJoblevel(@RequestBody Joblevel joblevel) {
        return ResponseProcessor.getResWithMsg(joblevelService.updateById(joblevel), MsgConstant.UPDATE);
    }

    @ApiOperation(value = "删除职称信息")
    @DeleteMapping("/{id}")
    public R<Object> deleteJoblevel(@PathVariable Integer id) {
        return ResponseProcessor.getResWithMsg(joblevelService.removeById(id), MsgConstant.DELETE);
    }

    @ApiOperation(value = "批量删除职称信息")
    @DeleteMapping("/")
    public R<Object> deleteJoblevels(@RequestParam List<Integer> ids) {
        //若用List接收数组，要加@RequestParam注解
        return ResponseProcessor.getResWithMsg(joblevelService.removeBatchByIds(ids), MsgConstant.DELETE);
    }
}

